package rpcsimpledemo.handler;

import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInboundHandlerAdapter;
import rpcsimpledemo.Test.ClientBootstrap;
import rpcsimpledemo.server.impl.HelloServiceImpl;

/**
 * description 自定义 handler   用于处理请求数据
 *
 * @author Llx
 * @version v1.0.0
 * @since 2018/9/27
 */
public class HelloServerHandler extends ChannelInboundHandlerAdapter {

    @Override
    public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
        // 如何符合约定，则调用本地方法，返回数据
        if (msg.toString().startsWith(ClientBootstrap.providerName)) {
            String result = new HelloServiceImpl()
                    .hello(msg.toString().substring(msg.toString().lastIndexOf("#") + 1));
            /**
             * 写出数据  发送数据
             */
            ctx.writeAndFlush(result);
        }

    }
}
